<template>
  <section class="jumbotron">
    <h3 class="jumbotron-heading">Search Github Users</h3>
    <div>
      <input
        type="text"
        placeholder="enter the name you search"
        v-model="keyWord"
      />&nbsp;<button @click="searchUsers">Search</button>
    </div>
  </section>
</template>

<script>
export default {
  name: "Search",

  data() {
    return {
      keyWord: "",
    };
  },

  methods: {
    // 点击搜索按钮后触发的回调
    searchUsers() {
      // 请求前更新List的数据
      this.$bus.$emit("updateListDate", {
        isFirst: false,
        isLoading: true,
        errMsg: "",
        users: [],
      });
      this.$http
        .get(`https://api.github.com/search/users?q=${this.keyWord}`)
        .then((res) => {
          // 请求成功后更新List的数据
          this.$bus.$emit("updateListDate", {
            isLoading: false, // 是否正在加载
            errMsg: "",
            users: res.data.items, // 用户数据
          });
        })
        .catch((err) => {
          console.error(err.message);
          // 请求失败后更新List的数据
          this.$bus.$emit("updateListDate", {
            isLoading: false,
            errMsg: err.message,  // 错误信息
            users: [],
          });
        });
    },
  },
};
</script>
